1
Основы промптинга для разработчиков
AI010Lesson 1
00:00

Сдвиг к инструкциям, настроенным на модели

Что лежит в основе?

Раньше базовые модели языковых моделей (LLM) обучались в основном предсказывать следующее слово в последовательности на основе огромного объема данных. Однако для разработчиков настоящая сила заключается в инструкциям, настроенным на модели. Эти модели улучшаются с помощью обучения с подкреплением от обратной связи человека (RLHF) для выполнения конкретных команд и действий как полезные помощники.

Золотое правило: Ведите себя с моделью, как с умным, но буквальным стажером. У нее нет вашего конкретного контекста, поэтому вы должны быть максимально точны в своих целях.

Как применять основные принципы

  1. Ясность и конкретность: Ясность не означает краткость. Предоставление большего контекста и использование разделителей (например, тройные обратные кавычки или теги XML) помогает модели отличить ваши инструкции от данных, которые ей нужно обработать.
  2. Дайте модели время подумать: Сложные задачи требуют цепочки рассуждений. Если вы просите модель сразу прийти к выводу, она больше склонна допустить ошибку в рассуждении. Направьте ее сначала самой выработать решение.
Избегайте галлюцинаций
Модели могут генерировать «правдоподобную», но ложную информацию. Всегда проверяйте факты или прикажите модели указывать источники, чтобы минимизировать этот риск.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>
Question 1
Why should a developer prefer an Instruction Tuned LLM over a Base LLM for building an application?
Base LLMs are better at following complex instructions.
Instruction Tuned LLMs are trained to follow tasks and are less likely to simply "complete" the text.
Base LLMs never hallucinate.
Challenge: Generating Structured Data
Apply prompting principles to format output.
You have a list of ingredients. You need to convert this list into a JSON format for a web app.
Task
Write a prompt that requests JSON output with keys for 'item' and 'quantity'. Include a condition check: If the input is not a recipe, output "No recipe detected."
Solution:
prompt = "You will be provided with text. If it contains a recipe, convert it to JSON with keys 'item' and 'quantity'. If not, write 'No recipe detected.' Text: <user_input>"